草庐IT

Android FrameWork--SytemServer进程fork

全部标签

php - 通过 AJAX 调用的 PHP 进程是否在 "ESC"上取消了?

如果我执行AJAX调用,如果用户按下“ESC”或离开该页面,AJAX调用是否会被取消?如果AJAX调用被取消,我的PHP脚本会继续运行直到它完成它正在做的事情(前提是没有达到时间限制或任何其他服务器配置停止。),或者该进程会在与它所属的Apachechild同时?如果进程确实被Apache子进程杀死,即使它没有完成,保持它存活的最佳方法是什么,或者我应该考虑哪些其他选项?(ZendX_Console_Process_Unix不是一个选项)。谢谢!后来的发现:如果我在Firefox中点击“ESC”(在firebug中检查),AJAX调用实际上会被取消。PHP进程继续进行,并且不受按ESC

php - 使用 session 变量时,Ajax 请求后数百个 Apache 进程挂起

浏览器加载来自Apache服务器的PHP网页后,客户端javascript每5秒向PHP更新脚本发送AJAX请求。以JSON编码的AJAX响应可能非常大,所以如果自上次AJAX请求以来没有变化,我只想发送空数组“[]”,或者如果有一个包含各种JSON对象的整个数组自上次AJAX请求以来发生变化。为了实现发送“[]”或完整数组,我使用了一个session变量。我的更新脚本如下所示:执行上述脚本后,网络服务器管理员注意到“太多”的httpd进程被创建并徘徊,最终导致服务器停止运行。当我删除涉及session变量的代码时,一些httpd进程仍然存在,但“积压”并没有那么糟糕,最终进程在对服务

nginx - webserver和cgi进程如何相互通信?

我想了解webserver(例如:nginx)和cgi/fastcgi是如何相互通信的。webserver如何将cgi脚本传递给cgi进程,cgi进程如何响应请求。在Nginx中,我们这样配置,让nginx将PHP脚本传递给php-fpmlocation/{root/home/service/public_html;fastcgi_passunix:/tmp/php-fpm-test.socket;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/home/service/public_html/index.php;includef

PHP fork : Kill child when it becomes a zombie

我有这段代码可以完美地满足我在各种phpcli程序中的需求。除了有时child会变成僵尸。我的问题是在哪里放置代码来检查一个child是否跑了5分钟,如果时间更长然后杀死它?我知道posix_kill可以杀死它以及如何跟踪它。Thereareexamplesoftaskmanagershere.我不确定如何将这些新功能组合到代码中。每次我尝试这样做,我都会陷入困惑。也许了解fork的人可以修复我的代码?忽略所有的error_logs-我想看看它运行时发生了什么。publicfunction__construct($data){//Keeptrackofallofthechildrenp

php - 为什么在 PHP 中使用 "lock"文件而不是仅仅计算进程数?

我见过很多使用“锁定”文件来跟踪PHP脚本当前是否正在运行的示例。例子:脚本开始检查“/tmp/lockfile”当前是否被锁定如果它被锁定,退出。如果没有,锁定文件并继续这样,如果长时间运行的脚本启动两次,则只有第一个实例会运行。这很棒。但是,绕过它似乎是错误的方法。为什么我们不像这样检查进程是否已经在运行?if(exec("ps-C".basename(__FILE__)."--no-headers|wc-l")>1){echo"Alreadyrunning.";exit;}这种方法有什么潜在的缺陷吗?为什么我经常看到“锁定”文件解决方法?用我们正在寻找的名称来计算进程显然更准确.

php - 启动进程,从 ps 隐藏参数

我有一个与API交互的Python脚本。该脚本从PHP页面启动。这两个脚本都是我写的,所以我可以根据需要更改其中的代码。Python脚本需要用户名和密码才能与API交互。我的第一个倾向是将它们作为CLI参数传递给Python:但是,任何人都可以通过ps查看凭据:$ps|grepsomeScript1000232952.00.21168529252pts/0S+15:470:00pythonsomeScript.pyAzureDiamondhunter2我正在考虑的替代方案是将数据写入文本文件或sqlite数据库,然后删除它们。有没有更好的主意?sqlite方法的一个限制是它需要以一种相

php - 为什么 pcntl_fork() 复制 PHP 对象?

pcntl_fork()的手册说:Thepcntl_fork()functioncreatesachildprocessthatdiffersfromtheparentprocessonlyinitsPIDandPPID.然而,运行这个简单的测试让我感到惊讶:classFoo{publicfunctionbar(){if(pcntl_fork()){echospl_object_hash($this),PHP_EOL;}else{echospl_object_hash($this),PHP_EOL;}}}(newFoo)->bar();结果如下:000000005ec7fd310000

PHP-CLI - 如何减少启动 PHP 进程所需的内存使用量

当PHP进程启动时,它会加载扩展、各种配置指令并创建全局/环境变量等,(我假设)这会耗尽内存。我的目标是引导一个简单的PHP脚本,该脚本使用尽可能少的内存来完成特定任务。示例CLI脚本,例如:printf("\nHelloWorld");上面的代码不依赖于任何默认打开的$_ENV变量或某些PHP流,如果它们不存在,将使PHP进程使用更少的内存。为了运行上面概述的代码,你们会怎么做才能将内存使用量降至最低? 最佳答案 为了获得几个字节,您可以在干净的环境中运行您的PHP代码:env-iphp-r'var_dump(memory_get

nginx - 当用户中止请求时,如何让 PHP-FPM 进程终止? (Nginx)

我知道Nginx与PHP-FPM进程无关,但我更希望PHP-FPM进程在用户中止时终止,这样它就不会继续做不必要的事情或浪费资源。对于PHP-FPM/Nginx,无论用户是否中止,trigger_error都会发生:我如何为PHP-FPM执行用户中止操作?(如果可能的话) 最佳答案 这不是由php-fpm实现的,更多信息here.设置ignore_user_abort(FALSE)仅在PHP通过套接字发送数据时有效,而不是在它忙于计算响应时有效。理想情况下,它应该在php-fpm中实现,但我认为这不会很容易,因为PHP大多是单线程的

php - CodeIgniter RESTful,异步/后台进程

我正在使用codeIgniterRESTfulAPI(https://github.com/philsturgeon/codeigniter-restserver)将信息(json格式)返回到我的android/iphone应用程序。有一个操作,我发送一些值,如果一切正常,我返回200代码作为响应。现在,我想用相同的方法添加一个新操作:使用APNS(Apple推送通知服务)和GCM(GoogleCloudMessaging)发送此修改的通知。当我必须发送不超过3-5个通知时,它工作正常,问题是APNS,因为我必须一个接一个地发送这些消息并且需要很长时间,所以我的应用程序收到超时异常(所